package com.secsys.service;

import java.util.List;

import com.secsys.dto.ResourceDTO;
import com.secsys.model.TbSysResource;
/**
 * @Description 资源业务逻辑-接口
 * @author LiusQ
 *
 */
public interface ResourceService extends Service<TbSysResource, Integer> {
    public void addResource(TbSysResource tbSysResource);  //添加资源
    
    public TbSysResource getBeanFromDto(ResourceDTO resourceDto);
    
    /**
     * 查找所有资源
     * @return
     */
    public List<ResourceDTO> listResource();
    
    /**
     * 把list转换成dto的list
     * @param tbResourceList
     * @return
     */
    public List<ResourceDTO> getDtoFromList(List<TbSysResource> tbResourceList);
    
    /**
     * 把TbSysResource转换成dto
     * @param tbResource
     * @return
     */
    public ResourceDTO getDtoFromPojo(TbSysResource tbResource);
    
    /**
     * 查找该角色没有的资源列表
     * @param resourceIdList
     * @return
     */
    public List<ResourceDTO> listNotInResource(List<Integer> resourceIdList);
    
    /**
     * 根据资源名查找资源
     * @param menuName
     * @return
     */
    public TbSysResource findTbSysResourceByMenuName(String menuName);
    
    /**
     * 根据资源名和id查找资源
     * @param menuName
     * @return
     */
    public TbSysResource findTbSysResourceByMenuName(String menuName,Integer id);
    
    /**
     * 查找所有父级菜单
     * @return
     */
    public List<ResourceDTO> findFatherResource();
    
    /**
     * 通过父级的序号查找出子菜单
     * @return
     */
    public List<TbSysResource> findChildByFather(String sequenceNum);
    
   
}
